Skip to main content

데이터베이스 기본 용어

데이터베이스

  • 데이터베이스는 일반적으로 컴퓨터 시스템에 전자적으로 저장되는 구조화된 정보 또는 데이터의 조직화된 모음이다.
  • 데이터베이스는 일반적으로 DBMS라고 불리는 데이터베이스 관리 시스템에 의해 제어된다.
  • 데이터베이스는 다음 4가지 특징을 갖는다.
    • 실시간 접근 (real-time accessibility) 이 가능하다.
    • 계속 변화 (continuous evolution) 한다.
    • 동시 공유 (concurrent sharing) 가 가능하다.
    • 내용으로 참조 (content reference) 가 가능하다.
  • 많이 사용되는 데이터베이스의 종류로 크게 2가지가 있다.
    • 관계형 데이터베이스
      • 행과 열로 구성된 테이블간의 관계를 나타내며, SQL을 통해 관리한다.
      • MySQL, Maria DB, MS-SQL 등이 있다.
    • NoSQL
      • 관계형 데이터 베이스의 한계를 극복하기 위한 데이터 저장소의 새로운 형태로, 수평적 확장성을 갖고 있다.
      • Mongo DB, Cassandra 등이 있다.

데이터

  • 데이터베이스의 가장 중요한 목적은 데이터를 모아두는 것이다.
  • 데이터는 형태에 따라 3가지로 분류할 수 있다.
    • 정형 데이터
      • 구조화된 데이터, 즉 미리 정해진 구조에 따라 저장된 데이터다.
      • 엑셀의 스프레드시트, 관계형 데이터베이스의 테이블
    • 반정형 데이터
      • 구조에 따라 저장된 데이터지만, 정형 데이터와 달리 데이터 내용 안에 구조에 대한 설명이 함께 존재
      • HTML, XML, JSON 등이 반정형 데이터에 속한다.
    • 비정형 데이터
      • 정해진 구조 없이 저장된 데이터다.
      • 소셜 데이터의 텍스트, 영상, 이미지, PDF와 같은 멀티미디어 데이터가 비정형 데이터에 속한다.

데이터베이스 관리 시스템 (DBMS)

  • 데이터베이스 관리 시스템 등장 이전에 사용되던 파일 시스템의 데이터 중복과 데이터 종속 문제를 해결하기 위해 제시된 소프트웨어이다.
  • 응용 프로그램을 대신하여 데이터베이스에 들어 있는 데이터를 삽입, 삭제, 수정, 검색하고, 모든 응용 프로그램이 데이터베이스를 공유할 수 있게 한다.

SQL (Structured Query Language)

  • SQL은 데이터를 조작 및 제어하기 위해 거의 모든 관계형 데이터베이스에서 사용되는 프로그래밍 언어이다.

스키마 (Schema)

  • 스키마는 데이터베이스에 저장되는 데이터 구조와 제약조건을 정의한 것이다.
  • 데이터베이스의 복잡한 내부 구조를 감추고 일반 사용자가 데이터베이스를 쉽게 이해하고 이용할 수 있도록, 스키마는 3층 구조로 되어있다.
    • 외부 스키마: 프로그래머나 사용자 입장에서 데이터베이스의 모습으로 조직의 일부분을 정의한 것
    • 개념 스키마: 모든 응용 시스템과 사용자들이 필요로하는 데이터를 통합한 조직 전체의 데이터베이스 구조를 논리적으로 정의한 것
    • 내부 스키마: 전체 데이터베이스의 물리적 저장 형태를 기술하는 것

릴레이션 (Relation)

  • 관계 데이터 모델에서는 하나의 개체에 관한 데이터를 릴레이션 하나에 담아 데이터베이스에 저장한다.
  • 릴레이션과 관련된 용어들은 다음과 같다.
    • 속성 (attribute)
      • 릴레이션의 열을 속성이라고 부른다.
      • 각 속성은 서로 다른 이름을 이용해 구별한다.
      • 릴레이션은 파일 관리 시스템에서의 파일, 속성은 필드에 대응하는 개념이다.
    • 튜플 (tuple)
      • 릴레이션의 행을 튜플이라고 부른다.
      • 튜플은 파일 관리 시스템에서 해당 파일의 레코드에 대응하는 개념이다.
    • 도메인 (domain)
      • 릴레이션에 포함된 각각의 속성들이 가질 수 있는 값들의 집합이다.
      • 예를 들어, 속성의 값으로 red, blue, green, yellow 중 하나만 허용된다면, 4가지 값을 모아놓은 것이 속성의 도메인이 된다.
    • 차수 (degree)
      • 하나의 릴레이션에서 속성의 전체 개수를 릴레이션의 차수라고 한다.
      • 모든 릴레이션은 최소 1 이상의 차수를 유지해야 한다.
      • 릴레이션의 차수는 일반적으로 자주 변하지 않는다는 정적인 특징이 있다.
    • 카디널리티 (cardinality)
      • 하나의 릴레이션에서 튜플의 전체 개수를 릴레이션의 카디널리티라고 한다.
      • 튜플이 없는 릴레이션이 존재할 수도 있다.
      • 릴레이션의 카디널리티는 일반적으로 자주 변한다는 동적이 특징이 있다.

나올 수 있는 면접 질문

  • 데이터베이스의 정의와 특징
  • 데이터의 종류
  • 속성과 튜플의 차이, 차수와 카디널리티의 차이

참고

기여자


Junho Moon

📦